# -*- coding:utf-8 -*-
# 此代码的作用：统计Windows目录下所有的文件及其子目录的容量之和
import  os
# 此函数的功用计算某个目录下所有文件及其子目录的容量只和
def getFileSize(filePath,size=0):
    for root,dirs,files in os.walk(filePath):
        for f in files:
            size += os.path.getsize(os.path.join(root,f))
    #print(root)

    return size

# 下面的代码作用：遍历C:\Windows 这个目录下的子目录，将其做为参数传入getFileSize() 这个函数
dir_capacity_list = []
dir_root_path = "C:\Windows"
for dir_path in os.listdir(dir_root_path):
    dir_path = dir_root_path + "\\" + dir_path
    # print(dir_path)
    size = getFileSize(dir_path)
    dir_capacity_list.append((dir_path,size))
# 按容量进行排序
# l1 list =[("addins",802),("apppatch",3,358,720),....]
# lambda x  这里的x 代表 ("addins",802) ("apppatch",3,358,720) ..... dir_capacity_list 这个列表中的某一项
l1 = sorted(dir_capacity_list,key=lambda x:x[1])
print(l1)